Instant Clientは、Oracle Databaseライブラリ、ツール、およびリモート(またはローカル)Oracle Databaseに接続するアプリケーションを作成および実行するのに使用できるヘッダー・ファイルを再パッケージ化したものです。Instant Clientは、OCI、OCCI、Pro * C、JDBCおよびODBCアプリケーションを実行するのに使用でき、PHPのOCI8、Pythonのcx_Oracle、Node.jsのnode-oracledbおよびRubyのruby-oci8 APIを含むスクリプト言語ドライバを実行するのに使用できます。SDKパッケージは、OCIおよびOCCI APIを使用するCおよびC++プログラム言語をコンパイルするためのヘッダー・ファイルを提供します。SQL*Plus、Workload Replay Client、Data Pump、SQL*Loaderなどの一部のユーティリティも、Instant Clientパッケージで利用できます。利用可能なInstant Clientパッケージについては、Instant Clientのホームページに説明があります。
Instant Clientの利点は、インストールがZIPパッケージのクイック解凍、またはLinux RPMパッケージの簡単なインストールであることです。Instant Clientのフットプリントは、フルOracle Clientよりもはるかに小さいです。その他の利点は、再配布を許可するOTNライセンスの下で利用できることです。Instant Clientベースのアプリケーションは、キャッシュや接続プールなどのOracle Clientの機能を最大限に活用できます。ネットワーク暗号化などのOracle Netの機能も利用できます。また当然、大小問わずOracle Databaseの機能も使用できます。
Instant Clientベースのアプリケーションは、フルOracle Clientが相互運用する任意のデータベース・バージョンと相互運用できます。たとえば、Instant Client 12.2は11.2、12.1、12.2データベースへの接続を許可します。詳細は、サポート・ドキュメントID 207303.1の相互運用性マトリックスにあります。Instant Clientには、さまざまなOracleのツールとテクノロジが含まれていますが、その中にはさらに制限的な要件があるものもありますのでご注意ください。
Instant ClientパッケージはOTNからインストールできます。Oracle Linuxユーザーは、ULNからインストールできます。また、これはフルOracleクライアントをインストールするときのインストールオプションでもあります。Instant Clientは、各Oracle Databaseリリースと並行して利用できるようになっています。Apple macOSを含む他のプラットフォームにもInstant Clientパッケージがあるものがありますが、データベースまたはフル・クライアントのものはありません。
Instant Clientは、開発環境や実稼働環境で誰でも使用できる無料OTNです。ただし、既に標準サポート契約を結んでいる場合は、Oracle Supportにのみ電話をかけることができます。
ライセンスに応じて、Instant Clientは無料でバンドルおよび再配布が可能です。企業は、組織内でのInstant Clientの再配布が可能です。ただし、標準のサポート契約を結んでいる場合は、Instant ClientのOracle Supportにのみ電話をかけることができます。
ORACLE_HOME(tnsnames.ora、sqlnet.oraなどの構成ファイルの場所を見つける)の使用が必要のないすべてのOracle Netネーミング・メソッドが、Instant Clientモードで機能します。
CおよびC++言語ベースのアプリケーションの場合、接続文字列は次の形式で指定が可能です。
形式のEasy Connect文字列は次のとおりです。
[//]host_name[:port][/service_name][:server_type][/instance_name]
such as: localhost/pdborcl
Oracle Netキーワード値のペアとして。例:
"(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp) (HOST=dlsun242)
(PORT=5521))
(CONNECT_DATA=(SERVICE_NAME=bjava21)))"
TNS_ADMIN環境変数が設定されている場合、構成ファイルの場所を見つけるのにTNS_ADMINを必要とするネーミング・メソッドは引き続き機能します。
TNS_ADMIN環境変数が設定されておらず、inst1などのTNSNAMESエントリなどが使用されている場合は、ORACLE_HOME変数を設定する必要があり、構成ファイルは$ORACLE_HOME/network/adminディレクトリにあることが予想されます。
このケースのORACLE_HOME変数はOracle Net構成ファイルをの場所を見つけるためにのみ使用され、Client Code Libraryの他のコンポーネント(OCI、NLSなど)はORACLE_HOMEの値を使用しないことにご注意ください。
Bequeathアダプタまたは空の接続文字列は、サポートされません。ただし、空の接続文字列を使用する別の方法は、UNIX上ではTWO_TASK環境変数、Windows上ではLOCAL変数を、tnsnames.oraエントリまたはOracle Netキーワード値ペアのいずれかに設定する方法です。TWO_TASKまたはLOCALがtnsnames.oraエントリに設定されている場合、TNS_ADMINまたはORACLE_HOMEの設定によってtnsnames.oraファイルのロードが可能になっている必要があります。
いいえ、Instant ClientはOracle Namesで機能しません。Instant Clientは古いデータベースとの下位互換性がありますが、Oracle Namesなど、廃止予定の機能はサポートしていません。Metalink Noteをご覧ください。
ライブラリのロード・パスに、ORACLE_HOMEのライブラリ・ディレクトリの前にInstant Clientファイルを含むディレクトリ(instantclientディレクトリなど)があるかぎり、アプリケーションはInstant Clientモードで動作し、ORACLE_HOMEにあるライブラリは使用されません。
Instant Clientモードでは、環境変数ORA_NLS33、ORA_NLS32、およびORA_NLSは無視されます。ORA_TZFILE環境変数は、フル・パスとは対照的に、大きなタイムゾーン・ファイルの名前に設定する必要があります。他のすべての環境変数(NLS_LANGなど)の動作に変更はありません。
一部のOracle Applicationsは現在、Instant Clientでの動作を認証中です。認証が完了すると、メッセージは消えます。
Instant Clientライブラリは、ファイルのサイズに等しい仮想アドレススペースを占有します。ただし、ライブラリから頻繁に使用されるエラーメッセージのみが物理メモリを占有します。ほとんどの場合、予約済みの仮想アドレススペースが大きくても、物理メモリの負荷は数キロバイトです。
Instant Client用のアプリケーションの特別設定は、すべてのユーザーのレジストリで、またはユーザーごとに設定できます。
Oracle Clientがマシンにすでにインストールされている場合は、次のことを推奨しています。
「tnsnames.ora」、「sqlnet.ora」、「oraaccess.xml」などのファイルは、TNS_ADMIN環境変数またはレジストリ・エントリをファイルを含むディレクトリに設定すると、Instant Clientによって検索されます。フルディレクトリパスを使用します。ファイル名は含めないでください。あるいは、Oracle Netファイル用に、Instant Clientディレクトリの下に「network/admin」というサブディレクトリを作成します。これはデフォルトの場所なので、TNS_ADMIN変数は必要ありません。
はい、10.1.0.4以降のLDAPは、Instant Clientで使用できます。
はい、Pro*Cは、Unixプラットフォーム上のInstant Client 10.2.0.xでの実行がサポートされています。現在、Pro*CはWindows上のInstant Clientではサポートされていません。